// Defines application wide constants
package Constants;
import java.awt.Font;
import java.awt.Color;
import java.awt.Cursor;
import java.io.File;


public class GTextbookConstants { 
  // Element type definitions
  
  public final static int Definition = 101;
  public final static int Axiom     = 102;
  public final static int Theorem   = 103;
  public final static int Formula   = 104;
  public final static Cursor Knowledge_Pick_Cursor = new Cursor(Cursor.HAND_CURSOR);
  public final static Cursor Default_Cursor = new Cursor(Cursor.DEFAULT_CURSOR);    
 
  public  static Font Chapter_Font = new Font ("Dialog", Font.BOLD,35);
  public  static Font Section_Font = new Font ("Dialog", Font.PLAIN,25);
  public  static Font Knowledge_Font = new Font("Dialog", Font.PLAIN,15);
  public  static Font Knowledge_Label_Font = new Font("Times New Roman",Font.BOLD,21);
  public  static Font Knowledge_Cursor_Font = new Font("Dialog", Font.PLAIN,15);
  public  static Font Status_Font = new Font ("Dialog", Font.BOLD,15);
  public  static Color Knowledge_Cursor_Color =  Color.yellow;
  public  static Color Knowledge_Background_Color = Color.white;
  public  static Color Knowledge_Background_Find_Color = Color.pink;
  public  static Color Knowledge_Background_Derive_Color = new Color(153,255,153);
  public  static Color Knowledge_Moved_Color = new Color(153,204,255);
  public  static Color Knowledge_Disobey_Derive_Rule_Color =new Color(249,133,133);
  public  static Color Knowledge_Disobey_Generate_Rule_Color = Color.red.brighter();
  public  static Color Knowledge_Background_Generate_Color = Color.green;
  public  static String Indent = "    ";
  
  public final static File DEFAULT_DIRECTORY = new File("D:/");
  public final static String DEFAULT_FILENAME = "GTextbook.xml";
  
  
  
  public final static int pointSizeMin = 10;      // Minimum font point size
  public final static int pointSizeMax = 40;     // Maximum font point size
  public final static int pointSizeStep = 1;
  
  public static void setKnowledgeFont(Font font){
      Knowledge_Font = font;
  }  
  public static void setChapterFont(Font font){
      Chapter_Font = font;
  }
  public static void setSectionFont(Font font){
      Section_Font = font;
  }
  public static void setKnowledgeLabelFont(Font font){
      Knowledge_Label_Font = font;
  }
  public static void setKnowledgeCursorFont(Font font){
      Knowledge_Cursor_Font = font;
  }
  public static void setStatusFont(Font font){
      Status_Font = font;
  }
  
  public static void setKnowledgeBackgroundColor(Color color){
      Knowledge_Background_Color = color;
  } 
  public static void setKnowledgeCursorColor(Color color){
      Knowledge_Cursor_Color = color;
  } 
  public static void setKnowledgeBackgroundFindColor(Color color){
      Knowledge_Background_Find_Color = color;
  } 
  public static void setKnowledgeBackgroundDeriveColor(Color color){
      Knowledge_Background_Derive_Color = color;
  }
  public static void setKnowledgeMovedColor(Color color){
      Knowledge_Moved_Color = color;
  } 
  public static void setKnowledgeDisobeyDeriveRuleColor(Color color){
      Knowledge_Disobey_Derive_Rule_Color = color;
}
  public static void setKnowledgeDisobeyGenerateRuleColor(Color color){
     Knowledge_Disobey_Generate_Rule_Color = color;
  }
  public static void setKnowledgeBackgroundGenerateColor(Color color){
     Knowledge_Background_Generate_Color = color;
  } 
}
